#ifndef ABSTRACTCAMERA_H
#define ABSTRACTCAMERA_H

#include <QObject>
#include <QCamera>
#include <QCameraInfo>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QDate>
#include <QList>
#include <QLabel>
class AbstractCamera : public QWidget
{
    Q_OBJECT
public:
    //初始化摄像头
    virtual void initCamera(QLabel*)=0;
    //销毁摄像头
    virtual void destroyCamera()=0;
    //获取摄像头信息列表
    virtual QList<QCameraInfo> getCameraInfo()=0;
    //设置摄像头
    virtual void setCamera(int index)=0;
    //设置显示区域
    virtual void setShowLabel(QLabel* label)=0;
    //获取图像
    virtual void captureImg()=0;
    //获取图片文件名
    virtual QString getImgName()=0;
    //停止摄像头
    virtual void stopCamera()=0;
    //开启摄像头
    virtual void startCamera()=0;
signals:
    //信号传递路径，开启拍摄，等待Camera拍摄完毕发送success信号，widget获取显示
    //拍摄图像完毕信号
    void captureSuccessed(QImage);
public slots:
public:


};

#endif // ABSTRACTCAMERA_H
